package cn.zhx.xa.system.service;

import cn.zhx.xa.model.dto.role.SysRoleAddOrUpdateDto;
import cn.zhx.xa.model.dto.role.SysRoleSearchDto;
import cn.zhx.xa.model.entity.SysRole;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;

import java.util.Map;

/**
* @author DELL
* @description 针对表【sys_role(角色)】的数据库操作Service
* @createDate 2024-01-30 12:46:54
*/
public interface SysRoleService{
    /**
     * 角色信息分页查询
     * @param sysRoleSearchDto
     * @param pageNum
     * @param pageSize
     * @return
     */
    Page<SysRole> findByPage(SysRoleSearchDto sysRoleSearchDto, Integer pageNum, Integer pageSize);

    /**
     * 添加角色
     * @param sysRoleAddDto
     */
    void saveSysRole(SysRoleAddOrUpdateDto sysRoleAddDto);

    /**
     * 修改角色
     * @param sysRoleUpdateDto
     */
    void updateSysRole(SysRoleAddOrUpdateDto sysRoleUpdateDto);

    /**
     * 删除角色
     * @param roleId
     */
    void deleteById(Long roleId);

    /**
     * 查询所有角色和用户所拥有的角色
     * @return
     */
    Map<String, Object> findAllRoles(Long userId);
}
